From: Keir Fraser Date: Thu, 15 Apr 2010 12:16:17 +0000 (+0100) Subject: xend: make NUMA in xm info optional (dependent on new -n switch) X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~12356 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/%22bookmarks://%22Dat/%22http:/www.example.com/cgi/%22https:/%22bookmarks:/%22Dat?a=commitdiff_plain;h=254a13846c7906785b0191c8b3210e3a6db866da;p=xen.git xend: make NUMA in xm info optional (dependent on new -n switch) Signed-off-by: Andre Przywara --- diff --git a/tools/python/xen/xend/XendNode.py b/tools/python/xen/xend/XendNode.py index 01e34df316..eb146ebda9 100644 --- a/tools/python/xen/xend/XendNode.py +++ b/tools/python/xen/xend/XendNode.py @@ -835,8 +835,8 @@ class XendNode: # Getting host information. # - def info(self): - return (self.nodeinfo() + self.physinfo() + self.xeninfo() + + def info(self, show_numa = 1): + return (self.nodeinfo() + self.physinfo(show_numa) + self.xeninfo() + self.xendinfo()) def nodeinfo(self): @@ -915,7 +915,7 @@ class XendNode: str='none\n' return str[:-1]; - def physinfo(self): + def physinfo(self, show_numa): info = self.xc.physinfo() tinfo = self.xc.topologyinfo() ninfo = self.xc.numainfo() @@ -926,12 +926,6 @@ class XendNode: info['total_memory'] = info['total_memory'] / 1024 info['free_memory'] = info['free_memory'] / 1024 - info['cpu_topology'] = \ - self.format_cpu_to_core_socket_node(tinfo) - - info['numa_info'] = \ - self.format_numa_info(ninfo) - ITEM_ORDER = ['nr_cpus', 'nr_nodes', 'cores_per_socket', @@ -941,10 +935,17 @@ class XendNode: 'virt_caps', 'total_memory', 'free_memory', - 'cpu_topology', - 'numa_info', ] + if show_numa != 0: + info['cpu_topology'] = \ + self.format_cpu_to_core_socket_node(tinfo) + + info['numa_info'] = \ + self.format_numa_info(ninfo) + + ITEM_ORDER += [ 'cpu_topology', 'numa_info' ] + return [[k, info[k]] for k in ITEM_ORDER] def pciinfo(self): @@ -1056,7 +1057,7 @@ class XendNode: def xeninfo_dict(self): return dict(self.xeninfo()) def physinfo_dict(self): - return dict(self.physinfo()) + return dict(self.physinfo(1)) def info_dict(self): return dict(self.info()) diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index e15b716ae9..55de14497d 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -145,7 +145,8 @@ SUBCOMMAND_HELP = { 'domname' : ('', 'Convert a domain id to domain name.'), 'dump-core' : ('[-L|--live] [-C|--crash] [-R|--reset] [Filename]', 'Dump core for a specific domain.'), - 'info' : ('[-c|--config]', 'Get information about Xen host.'), + 'info' : ('[-c|--config] [-n|--numa]', + 'Get information about Xen host.'), 'log' : ('', 'Print Xend log'), 'rename' : (' ', 'Rename a domain.'), 'sched-sedf' : (' [options]', 'Get/set EDF parameters.'), @@ -326,6 +327,7 @@ SUBCOMMAND_OPTIONS = { ), 'info': ( ('-c', '--config', 'List Xend configuration parameters'), + ('-n', '--numa', 'List host NUMA topology information'), ), 'tmem-list': ( ('-l', '--long', 'List tmem stats.'), @@ -1825,15 +1827,18 @@ def xm_info(args): arg_check(args, "info", 0, 1) try: - (options, params) = getopt.gnu_getopt(args, 'c', ['config']) + (options, params) = getopt.gnu_getopt(args, 'cn', ['config','numa']) except getopt.GetoptError, opterr: err(opterr) usage('info') show_xend_config = 0 + show_numa_topology = 0 for (k, v) in options: if k in ['-c', '--config']: show_xend_config = 1 + if k in ['-n', '--numa']: + show_numa_topology = 1 if show_xend_config: for name, obj in inspect.getmembers(xoptions): @@ -1920,7 +1925,7 @@ def xm_info(args): for (k, v) in sorted: print "%-23s:" % k, v else: - info = server.xend.node.info() + info = server.xend.node.info(show_numa_topology) for x in info[1:]: if len(x) < 2: print "%-23s: (none)" % x[0]